#if !( LIFT_TYPE == RECORD_MAGIC_ELEC2 \
      || LIFT_TYPE == RECORD_MAGIC_ELEC3 \
      || LIFT_TYPE == RECORD_MAGIC_SMALL_SLAB \
      || LIFT_TYPE == RECORD_MAGIC_ELEC1 )

#error " Lift Type is not recognozed"

#endif

#if ( MAGIC_ID != 1)

#error " Lift Revision is not a 1"

#endif

#if ( BRAKE_APPLY_DELAY_TO_COUNT != 100     \
      || BRAKE_APPLY_DELAY > 25599)

#error "BRAKE_APPLY_DELAY is too long"

#endif

#if ( COIL_FAULT_DETECTION_PERIOD_TO_COUNT != 10    \
      || COIL_FAULT_DETECTION_PERIOD > 2559 )

#error "COIL_FAULT_DETECTION_PERIOD_ is too long"

#endif

#if ( NEUTRAL_ZONE_STEERING_OFF_DELAY_TO_COUNT != 100   \
      || NEUTRAL_ZONE_STEERING_OFF_DELAY > 25599)

#error "NEUTRAL_ZONE_STEERING_OFF_DELAY is too long"

#endif

#if (DRIVE_DIRECTION_SWITCH_DELAY_TO_COUNT != 10        \
     || DRIVE_DIRECTION_SWITCH_DELAY > 2559)

#error "DRIVE_DIRECTION_SWITCH_DELAY is too long"

#endif


#if ( MOTOR_ENABLE_DELAY_TO_COUNT != 10                 \
      || MOTOR_ENABLE_DELAY > 2559)

#error "MOTOR_ENABLE_DELAY is too long"

#endif

#if ( OVERLOAD_STABILIZATION_PERIOD_TO_COUNT != 100     \
      || OVERLOAD_STABILIZATION_PERIOD > 25599)

#error "OVERLOAD_STABILIZATION_PERIOD is too long"

#endif


#if ( JOYSTICK_OFFSET_COMPENSATION > 60 )

#error "Joystick Offset Compensation is out of range"

#endif

#if ( JOYSTICK_NEUTRAL_ZONE > 25 )

#error "Joystick Neutral Zone is out of range"

#endif

#if !(120 < BATTERY_LEVEL1 &&  \
      BATERY_LEVEL1 < BATTERY_LEVEL2 && \
      BATERY_LEVEL2 < BATTERY_LEVEL3 && \
      BATERY_LEVEL3 < BATTERY_LEVEL4 && \
      BATERY_LEVEL4 < BATTERY_LEVEL5 && \
      BATERY_LEVEL5 < 300)

#error "Battery levels out of range"

#endif

#if ( TILT_BRAKE_DELAY_TO_COUNT != 10    \
      || TILT_BRAKE_DELAY > 2559)

#error "TILT_BRAKE_DELAY is too long"

#endif

#if ( LEVEL_BRAKE_DELAY_TO_COUNT != 10    \
      || LEVEL_BRAKE_DELAY > 2559)

#error "LEVEL_BRAKE_DELAY is too long"

#endif

#if !( FAST_INDEX1 <= FAST_INDEX2 &&    \
       FAST_INDEX2 <= FAST_INDEX3 &&    \
       FAST_INDEX3 <= FAST_INDEX4 &&    \
       FAST_INDEX4 <= (127 - JOYSTICK_NEUTRAL_ZONE) &&  \
       FAST_PWM1 <= FAST_PWM2 &&    \
       FAST_PWM2 <= FAST_PWM3 &&    \
       FAST_PWM3 <= FAST_PWM4 &&    \
       FAST_PWM4 <= FAST_PWM_MAX && \
       FAST_PWM_MAX <= SMAL_SLAB_FAST_PWM_LIMIT)

#error "Fast Drive Curve is not increased"

#endif

#if FAST_PERIOD == 0 || FAST_PERIOD > 200

#error "Fast Drive Accel/Deacel interval is out of limits"

#endif

#if !( RISED_INDEX1 <= RISED_INDEX2 &&    \
       RISED_INDEX2 <= RISED_INDEX3 &&    \
       RISED_INDEX3 <= RISED_INDEX4 &&    \
       RISED_INDEX4 <= (127 - JOYSTICK_NEUTRAL_ZONE) &&  \
       RISED_PWM1 <= RISED_PWM2 &&    \
       RISED_PWM2 <= RISED_PWM3 &&    \
       RISED_PWM3 <= RISED_PWM4 &&    \
       RISED_PWM4 <= RISED_PWM_MAX && \
       RISED_PWM_MAX <= RISED_PWM_LIMIT)

#error "Rised Drive Curve is not increased"

#endif

#if RISED_PERIOD == 0 || RISED_PERIOD > 200

#error "Raised Drive Accel/Deacel interval is out of limits"

#endif


#if !( LIFT_INDEX1 <= LIFT_INDEX2 &&    \
       LIFT_INDEX2 <= LIFT_INDEX3 &&    \
       LIFT_INDEX3 <= LIFT_INDEX4 &&    \
       LIFT_INDEX4 <= (127 - JOYSTICK_NEUTRAL_ZONE) &&  \
       LIFT_PWM1 <= LIFT_PWM2 &&    \
       LIFT_PWM2 <= LIFT_PWM3 &&    \
       LIFT_PWM3 <= LIFT_PWM4 &&    \
       LIFT_PWM4 <= LIFT_PWM_MAX && \
       LIFT_PWM_MAX <= 100)

#error "Lift Up Curve is not increased"

#if LIFT_PERIOD == 0 || LIFT_PERIOD > 200

#error "Lift Accel/Deacel interval is out of limits"

#endif

#if !( SLOW_INDEX1 <= SLOW_INDEX2 &&    \
       SLOW_INDEX2 <= SLOW_INDEX3 &&    \
       SLOW_INDEX3 <= SLOW_INDEX4 &&    \
       SLOW_INDEX4 <= (127 - JOYSTICK_NEUTRAL_ZONE) &&  \
       SLOW_PWM1 <= SLOW_PWM2 &&    \
       SLOW_PWM2 <= SLOW_PWM3 &&    \
       SLOW_PWM3 <= SLOW_PWM4 &&    \
       SLOW_PWM4 <= SLOW_PWM_MAX && \
       SLOW_PWM_MAX <= SLOW_PWM_LIMIT)

#error "Slow Drive Curve is not increased"

#endif

#if SLOW_PERIOD == 0 || SLOW_PERIOD > 200

#error "Slow Drive Accel/Deacel interval is out of limits"

#endif

#if !( STEER_UP_INDEX1 <= STEER_UP_INDEX2 &&    \
       STEER_UP_INDEX2 <= STEER_UP_INDEX3 &&    \
       STEER_UP_INDEX3 <= STEER_UP_INDEX4 &&    \
       STEER_UP_INDEX4 <= (127 - JOYSTICK_NEUTRAL_ZONE) &&  \
       STEER_UP_PWM1 <= STEER_UP_PWM2 &&    \
       STEER_UP_PWM2 <= STEER_UP_PWM3 &&    \
       STEER_UP_PWM3 <= STEER_UP_PWM4 &&    \
       STEER_UP_PWM4 <= STEER_UP_PWM_MAX && \
       STEER_UP_PWM_MAX <= STEER_UP_PWM_LIMIT)

#error "Steer Rised Drive Curve is not increased"

#endif

#if STEER_UP_PERIOD == 0 || STEER_UP_PERIOD > 200

#error "Steer Rised Drive Accel/Deacel interval is out of limits"

#endif

#endif

